package model;
import java.util.ArrayList;
/**
 *
 * @author Gruppe 5
 */
public class Maskine
{
    private int id;
    private String type;
    private ArrayList<Eksemplar> eksemplarer;
    private Eksemplar eksemplar;
    
    public Maskine(String type)
    {
        this.type = type;
        eksemplarer = new ArrayList<Eksemplar>();
        eksemplar = new Eksemplar();

    }
    
    
    
    public void printMaskine()
    {
        System.out.println("");
        
        System.out.println("Maskine ID : " + id);
        
        System.out.println("Maskine Type : " + type);

        
        
        
    }
    
    public Maskine()
    {
        eksemplarer = new ArrayList<Eksemplar>();
    }
    
    public int addEksemplar(Eksemplar nyEksemplar)
    {
        int nySerieNr = 1;
        if(nyEksemplar.getSerieNr() == 0)
        {
            if(eksemplarer.size() > 0)
            {
                int lastIndex = eksemplarer.size()-1;
                Eksemplar lastEksemplar = eksemplarer.get(lastIndex);
                nySerieNr = lastEksemplar.getSerieNr();
                nySerieNr += 1;
            }
            nyEksemplar.setSerieNr(nySerieNr);
        }
        eksemplarer.add(nyEksemplar);
        return nySerieNr;
    }

    public int getId()
    {
        return id;
    }
    public void setId(int id)
    {
        this.id = id;
    }

    public String getType()
    {
        return type;
    }

    public void setType(String type)
    {
        this.type = type;
    }

   
    public String MaskineBeskrivelse()
    {
        return "ID: " + id + "\nType: " + type + "\n" + printEksemplar() + "\n";
    }

    public ArrayList printEksemplar()
    {
        ArrayList<Eksemplar> eksemplarList = new ArrayList<Eksemplar>();
        for(Eksemplar e : eksemplarer)
        {
            if (!eksemplar.getUdlaan())
            {
                eksemplarList.add(e);
            }
        }
        return eksemplarList;
    }

    public ArrayList getUdlaant()
    {
        ArrayList<Eksemplar> udlaant = new ArrayList<Eksemplar>();
        for(Eksemplar e : eksemplarer)
        {
            System.out.println("Hello world " + eksemplar.getUdlaan());
            if (!eksemplar.getUdlaan())
            {
                System.out.println("getUdlaant");
                udlaant.add(e);
            }
        }
        return udlaant;
    }

    public Eksemplar findEksemplar(int serieNummer)
    {
        int index = 0;
        boolean found = false;
        Eksemplar eksObjekt = null;
        while (index < eksemplarer.size() && !found)
        {
            eksObjekt = eksemplarer.get(index);
            if (eksObjekt.getSerieNr() == serieNummer)
            {
                found = true;
            }
            else
            {
                index++;
            }
        }
        if (found)
        {
            return eksObjekt;
        }
        else
        {
            return null;
        }
    }
}
